package andestours.interfaz;

import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import andestours.mundo.AndesTours;
import andestours.mundo.DestinoValue;


public class ServletInicio extends ServletTemplate {

	private static final long serialVersionUID = 1L;

	@Override
	public void imprimirContenido(HttpServletRequest request, PrintWriter out) {
		
		ArrayList<DestinoValue> visitados;
		try {
			Date inicio = new Date();
			visitados = AndesTours.getInstance().darDestinosMasVisitados();
			Date fin = new Date();
			System.out.println("RF1 Dar destinos mas visitados: " + (fin.getTime() - inicio.getTime()) + " milisegundos.");
		}
		catch(Exception e) {
			out.println("Error en la conexi&oacute;n a la base de datos.<br />Puede que usted no est&eacute; conectado a internet, o que el servidor est&eacute; ca&iacute;do.<br /><br /><b>Mensaje de error:</b>");
			out.println(e.getMessage());
			return;
		}
		
		String paramVisitados = request.getParameter("visitados");
		String paramTodos = request.getParameter("todos");
		int codigo = paramVisitados != null ? Integer.parseInt(paramVisitados) : paramTodos != null ? Integer.parseInt(paramTodos) : 0;
		
		out.println("	<tr>");
		out.println("		<td width=\"35%\" bgcolor=\"#6666aa\" valign=\"baseline\">");
		out.println("			<center>");
		out.println("				<font face=\"Verdana, Arial, Helvetica, sans-serif\" color=\"#FF9966\"><b>1. Seleccione su destino favorito</b></font>");
		out.println("				<br /><br /><br /><br /><br />");
		out.println("				<form action='index.html' method='post'>");
		out.println("					<font face=\"Verdana, Arial, Helvetica, sans-serif\">Sitios m&aacute;s visitados</font>");
		out.println("					<br />");
		
		boolean checked = paramTodos == null;
		
		out.println("					<input type=\"radio\" name='opcion' " + (checked ? "checked='checked'" : "") + " onclick=\"javascript:seleccionarVisitados()\" />");
		out.println("					<select id=\"visitados\" name=\"visitados\"" + (checked ? "" : "disabled='disabled'") + ">");
		out.println("						<option value=\"0\">--- Seleccione ---</option>");
		
		for(int i=0; i<visitados.size(); i++) {
			boolean sel = paramVisitados != null ? visitados.get(i).getCodigo() == codigo : false;
			out.println("<option value='" + visitados.get(i).getCodigo() + "' " + (sel ? "selected='selected'" : "") + " onclick=\"javascript:seleccionar()\">" + visitados.get(i).getNombre() + "</option>");
		}
		
		out.println("					</select>");
		out.println("					<br /><br /><br />");
		out.println("					<font face=\"Verdana, Arial, Helvetica, sans-serif\">Todos los destinos</font>");
		out.println("					<br />");		
		out.println("					<input type=\"radio\" name='opcion' " + (checked ? "" : "checked='checked'") + " onclick=\"javascript:seleccionarTodos()\" />");
		out.println("					<select id=\"todos\" name=\"todos\" " + (checked ? "disabled='disabled'" : "") + ">");
		out.println("					<option value=\"0\">--- Seleccione ---</option>");
		
		
		Date inicio = new Date();
		ArrayList<DestinoValue> destinos = AndesTours.getInstance().darTodosLosDestinos();
		Date fin = new Date();
		System.out.println("RF1 Dar todos los destinos: " + (fin.getTime() - inicio.getTime()) + " milisegundos.");
		
		for(int i=0; i<destinos.size(); i++) {
			boolean sel = paramTodos != null ? destinos.get(i).getCodigo() == codigo : false;
			out.println("<option value='" + destinos.get(i).getCodigo() + "' " + (sel ? "selected='selected'" : "") + " onclick=\"javascript:seleccionar()\">" + destinos.get(i).getNombre() + "</option>");
		}
		
		out.println("					</select>");
		out.println("				</form>");
		out.println("				<br /><br /><br /><br />");
		out.println("				<form action='estadia.html' onsubmit='return validarInicio()' method='post'>");
		out.println("				<input type='hidden' name='codigo' id='codigo' value='" + codigo + "'>");			
		out.println("					<input type=\"submit\" value=\"Continuar\" />");
		out.println("				</form><br /><br /><br /><br /><br /><br />");
		out.println("				<form action='compra.html' method='post'><font face='Verdana, Arial, Helvetica, sans-serif'>&iquest;Ya reserv&oacute; su viaje?</font><br />");
		out.println("				<input type='submit' value='COMPRAR'></font>");
		out.println("			</center>");
		out.println("		</td>");
		out.println("		<td valign=\"baseline\">");
		out.println("			<center>");
		
		if(codigo == 0) {
			out.println("<br /><img src='./logo.jpg' />");
		}
		else {
			
			DestinoValue destino = AndesTours.getInstance().darDestino(codigo);
			
			out.println("<font face='Verdana, Arial, Helvetica, sans-serif' color='#6666aa' size='+2'>" + destino.getNombre() + "</font>");
			out.println("<br />");
			out.println("<font face='Times New Roman, Times, serif'>" + destino.getPais() + " - " + destino.getContinente() + "</font>");
			out.println("<br />");
			out.println("<img border='2' height='400' src='" + destino.getFoto() + "' />");
			out.println("<br /><br />");
			out.println("<div align='justify'>");
			out.println("<font face='Times New Roman, Times, serif'>" + destino.getDescripcion());
			out.println("</font>");
			out.println("</div>");
		}
		
		out.println("		</center>");
		out.println("		</td>");
		out.println("	</tr>");
		
	}

}
